package com.tiancheng.trade.settlement.mapper.settlement;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tiancheng.trade.settlement.mapper.TYBaseMapper;
import com.tiancheng.trade.settlement.model.settlement.PaymentOrderFinish;
import com.tiancheng.trade.settlement.vo.settlement.admin.SettlementBillQueryVO;
import com.tiancheng.trade.settlement.vo.settlement.admin.SettlementReconQueryVO;
import com.tiancheng.trade.settlement.vo.settlement.admin.SettlementReconRepVO;
import com.tiancheng.trade.settlement.vo.settlement.api.SettlementBillDetail;
import com.tiancheng.trade.settlement.vo.settlement.api.SettlementBillRepVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;


@Repository
public interface SettlementBillRepMapper extends TYBaseMapper<PaymentOrderFinish> {

    /**
     * 按日期获取清分汇总统计信息-平台日汇总
     * 清分日期，平台商户总数，平台清分总金额
     *
     * @param queryVO
     * @return
     */
    IPage<SettlementBillRepVO> getSettlementBillReport(Page<?> page, @Param("vo") SettlementBillQueryVO queryVO);

    /**
     * 按日期获取清分汇总统计信息-平台日汇总
     * 清分日期，平台商户总数，平台清分总金额
     *
     * @param queryVO
     * @return
     */
    List<SettlementBillRepVO> getSettlementBillReport(@Param("vo") SettlementBillQueryVO queryVO);

    /**
     * 清分对账结果详情信息
     *
     * @param subOrderId
     * @return
     */
    SettlementBillDetail billDetailByOrderId(@Param("subOrderId") String subOrderId);

    /**
     * 清分对账-汇总对账统计信息
     *
     * @param queryVO
     * @return
     */
    List<SettlementReconRepVO> getSettlementReconReport(SettlementReconQueryVO queryVO);


}
